package com.lebang.mapper;

import com.lebang.entity.sys.Group;
import com.lebang.entity.sys.LbbGroup;
import com.lebang.example.LbbGroupExample;
import com.lebang.model.vo.SearchVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;
@Repository
public interface LbbGroupMapper {
    long countByExample(LbbGroupExample example);

    int deleteByExample(LbbGroupExample example);

    int deleteByPrimaryKey(Long id);

    int insert(LbbGroup record);

    int insertSelective(LbbGroup record);

    List<LbbGroup> selectByExample(LbbGroupExample example);

    LbbGroup selectByPrimaryKey(Long id);

    int updateByExampleSelective(@Param("record") LbbGroup record, @Param("example") LbbGroupExample example);

    int updateByExample(@Param("record") LbbGroup record, @Param("example") LbbGroupExample example);

    int updateByPrimaryKeySelective(LbbGroup record);

    int updateByPrimaryKey(LbbGroup record);

    LbbGroup getByGroupId(String groupId);
    /**
     * 分组列表
     * @author weizx
     * @date 2018年7月11日 上午10:40:06
     * @param userid
     * @return
     */
    List<Group> list(@Param("userid") String userid);

    /**
     * 统计
     * @author weizx
     * @date 2018年7月11日 下午6:56:22
     * @param search
     * @return
     */
    int total(@Param("search") String search);

    /**
     * 分页
     * @author weizx
     * @date 2018年7月11日 下午6:56:32
     * @param vo
     * @return
     */
    List<Map<String, Object>> pagging(@Param("vo") SearchVo vo);

    /**
     * 获取最顶级的分组
     * @author weizx
     * @date 2018年7月12日 上午9:30:03
     * @return
     */
    List<Map<String, Object>> getTopGroup();
}